package com.itheima.bigevent.exception;

import com.itheima.bigevent.pojo.Result;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    public Result HandleException(Exception e){
        // e.printStackTrace();      // 后台打印报错信息
        // 由于部分Exception，e.getMessage()可能没有返回错误原因，需要StringUtils.hasLength()，用于检查给定的字符串是否既非 null 也非空字符串（""）
        // 三元运算，如有返回错误原因，则返回错误原因本身；如没有，则返回“操作失败”
        return Result.error(StringUtils.hasLength(e.getMessage()) ? e.getMessage() : "操作失败");
    }
}
